/*
 * $Id: $
 */
package org.rcgwt.client.ui.grid.model;

import java.util.Iterator;

/**
 * Group Model
 * 
 * @author Matthieu ROBERT & Olivier Oeuillot
 * 
 */
public interface IGroupDataModel {

    void setDataModel(IDataModel model);

    IDataModel getDataModel();

    IGroup getGroupByIndex(int groupModelIndex);

    int getGroupCount();

    IGroup getGroupByRowModelIndex(int rowModelIndex);

    String getGroupName(IGroup group);

    Iterator<Integer> getGroupModelIndexes(int startRowModelIndex, int rowCount);

    Iterator<Integer> getRowModelIndexes(IGroup group, int startRowModelIndex,
            int rowCount);

    int getGroupRowCount(IGroup group);
}
